// pages/Component_Drink/Component_Drink.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {

  },
  /*组件的生命周期*/
  lifetimes: {
    attached: function() {
      // 在组件实例进入页面节点树时执行
      this.setData({
        device_id: getApp().globalData.device_id
      })
      console.log("组件实例进入页面节点树时执行,其device_id:"+this.data.device_id)
    },
    detached: function() {
      // 在组件实例被从页面节点树移除时执行
    },
  },

  /**
   * 组件的初始数据
   */
  data: {
    unpaid: false,
    device_id: '无',
    // unpaid_info: []
  },

  /**
   * 组件的方法列表
   */
  methods: {
    exit:function(e){
      const myEventDetail = {} // detail对象，提供给事件监听函数
 
      this.triggerEvent("exit", myEventDetail)
      //第一个参数，就是给这个事件起个名字，要在组件的bind后面用，第二个参数是传入数据，还有第三个参数冒泡啥的
    },
    //open_lock方法：先查询全局中有无未支付的账单，如果有，直接跳转至open界面，弹出未支付的账单，如果没有，则调用开锁接口向云服务器发送开锁信息，并调用建立初始账单接口建立初始账单，再跳转至open界面
    //open_lock方法：先查询全局中有无未支付的账单，如果有，直接跳转至open界面，弹出未支付的账单，如果没有，则调用开锁接口向云服务器发送开锁信息，并调用建立初始账单接口建立初始账单，再跳转至open界面
    open_lock:function(){
      var that = this
      //如果没有识别到设备id即去扫一扫
      if (this.data.device_id=='无') {
        //调用微信扫一扫功能扫描二维码识别装置
        // 只允许从相机扫码
        wx.scanCode({
          onlyFromCamera: true,
          success (res) {
            // console.log(res)
            // console.log(res.result)
            let device_id = res.result.replace(/[^\d]/g, "");     //利用正则表达式提取出二维码中的device_id
            //给全局中的device_id赋值
            getApp().globalData.device_id = device_id
            wx.reLaunch({
              url: '/pages/Home/Home',
            })
          }
        })
      }else{
        //与服务器交互---Find_Bill账单信息查找接口（半完成，没有联系用户id,计划在PHP端用post传输用户id），并把账单信息存储至全局变量中
        console.log("查询服务器中有无未支付的账单")
        wx.request({
          url: getApp().globalData.server + '/index.php/Home/QiuBao/Find_Bill',
          data:{},
          method:"POST",
          header: {
            'content-type': 'application/json' // 默认值
          },
          success:function(res){
            // console.log(res)
            if(res.data.error_code != 0){
              wx.showModal({
                title:'哎呀~',
                content:'出错了呢！' + res.data.msg,
                success(res){
                  if(res.confirm){
                    console.log('用户点击确定')
                  }else if(res.cancel){
                    console.log('用户点击取消')
                  }
                }
              })
            }else if(res.data.error_code == 0){
              // console.log(res.data.data)
              for (let i = 0; i < res.data.data.length; i++) {
                if (res.data.data[i].bill_status=="未支付") {
                  getApp().globalData.unpaid = true
                  getApp().globalData.unpaid_info = res.data.data[i]
                  break
                }
                getApp().globalData.unpaid = false
                getApp().globalData.unpaid_info = []
              } 
              console.log(getApp().globalData.unpaid)
              console.log(getApp().globalData.unpaid_info)
              // console.log(that.data.bill_info[0].coupon_price)
            }
          },
          fail:function(res){
            wx.showModal({
              title:'哎呀~~',
              content:'网络不在状态呢！',
              success:function(res){
                if (res.confirm) {
                  console.log("用户点击确定")
                } else if (res.cancel) {
                  console.log("用户点击取消")
                }
              }
            })
          },
          complete:function(res){
            wx.hideLoading({
              success: (res) => {},
            })
          }
        })

        setTimeout(function(){
          wx.hideLoading({
            success: (res) => {},
          })
        },2000)
        //查询全局中有无未支付的账单，如果有，弹出未支付的账单
        this.setData({
          unpaid: getApp().globalData.unpaid,
          // unpaid_info: getApp().globalData.unpaid_info
        })
        if (this.data.unpaid==true) {
          console.log("发现有未支付订单，直接跳转至open")
          wx.reLaunch({
            url: '/pages/Open/Open',
          })
        } else {
          // console.log(this.data.unpaid)
          wx.request({
            url: getApp().globalData.server + '/index.php/Home/QiuBao/Open_Device_lock',
            data:{
              device_id: getApp().globalData.device_id
            },
            method:"POST",
            header: {
              'content-type': "application/x-www-form-urlencoded"
            },
            dataType: 'json',
            success:function(res){
              // console.log(res)
              if(res.data.error_code != 0){
                wx.showModal({
                  title:'哎呀~',
                  content:'出错了呢！' + res.data.msg,
                  success(res){
                    if(res.confirm){
                      console.log('用户点击确定')
                    }else if(res.cancel){
                      console.log('用户点击取消')
                    }
                  }
                })
              }else if(res.data.error_code == 0){
                console.log(res.data)
              }
            }
          })
          wx.request({
            url: getApp().globalData.server + '/index.php/Home/QiuBao/Create_initial_order',
            data:{
              user_id: wx.getStorageSync('openId'), 
              device_id: getApp().globalData.device_id
            },
            header: {
              'content-type': "application/x-www-form-urlencoded"
            },
            method: 'POST',
            dataType: 'json',
            responseType: 'text',
            success:function(res){
              // console.log(res)
            if(res.data.error_code != 0){
              wx.showModal({
                title:'哎呀~',
                content:'出错了呢！' + res.data.msg,
                success(res){
                  if(res.confirm){
                    console.log('用户点击确定')
                  }else if(res.cancel){
                    console.log('用户点击取消')
                  }
                }
              })
            }else if(res.data.error_code == 0){
              console.log(res.data)
            }
            }
          })
          console.log("开锁跳转至open")
          wx.reLaunch({
            url: '/pages/Open/Open',
          })
        }
      }
    }
  }
})
